package secondStage.part4.字节流.写数据;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * @ClassName: [FileOutputStreamDemo1]
 * @Description: 字节流写数据的3种方式
 * @Author: [黄劲松]
 * @CreateDate: [2021-04-04]
 * @Version: [v1.0]
 */
/*
构造方法:
    FileOutputStream (String name): 创建文件输出流以指定的名称写入文件
    FileOutputStream (File file): 创建文件输出流以写入由指定的File对象 表示的文件
2.3字节流写数据的3种方式
    void write(int b)将指定的字节写入此文件输出流，
    一次写一个字节数据
    void write(byte[] b)将b.length字节从指定的字节数组写入此文件输出流，
    一次写一个字节数组数据
    void write(byte[] b, int off, int len)将len字节从指定的字节数组开始，从偏移量offF开始写入此文件输出流，
    一次写一个字节数组的部分数据
 */
public class FileOutputStreamDemo1 {
    public static void main(String[] args) throws IOException {
        //FileOutputStream(String name);创建问价输出流以指定的名称写入文件
        FileOutputStream fos = new FileOutputStream("fos.txt");
//        FileOutputStream fos = new FileOutputStream(new File("fos.txt"));

//        File file = new File("fos.txt");
//        FileOutputStream fos1 = new FileOutputStream(file);
//        FileOutputStream fos1 = new FileOutputStream(new File("fos.txt"));

        //void write(int b)将指定的字节写入此文件输出流
        fos.write(97);
        fos.write(98);
        fos.write(99);
        fos.write(100);
        //void write(byte[] b)
        byte[] bys ={65,66,67,68,69};
        //byte[] getBytes (): 返回字符串对应的字节数组
        byte[] bys1 = "DFEGDS".getBytes();
        fos.write(bys);
        fos.write(bys1);
        //void write(byte[] b, int off, int len)将len字节从指定的字节数组开始，从偏移量offF开始写入此文件输出流，
        fos.write(bys,1,3);

        fos.close();
    }
}

